debug ?= n
perfc ?= n
perfc_arrays?= n
-trace ?= y
domu_debug ?= n
crash_debug ?= n
endif
endif
-ifeq ($(trace),y)
-CFLAGS += -DTRACE_BUFFER
-endif
-
CFLAGS := $(strip $(CFLAGS))
%.o: %.c $(HDRS) Makefile
unsigned int opt_vmx_debug_level = 0;
integer_param("vmx_debug", opt_vmx_debug_level);
-#ifdef TRACE_BUFFER
static unsigned long trace_values[NR_CPUS][4];
#define TRACE_VMEXIT(index,value) trace_values[current->processor][index]=value
-#else
-#define TRACE_VMEXIT(index,value) ((void)0)
-#endif
static int vmx_switch_on;
return;
}
-#ifdef TRACE_BUFFER
{
__vmread(GUEST_RIP, &eip);
TRACE_3D(TRC_VMX_VMEXIT, v->domain->domain_id, eip, exit_reason);
TRACE_VMEXIT(0,exit_reason);
}
-#endif
switch (exit_reason) {
case EXIT_REASON_EXCEPTION_NMI:
#endif
}
-#ifdef TRACE_BUFFER
asmlinkage void trace_vmentry (void)
{
TRACE_5D(TRC_VMENTRY,trace_values[current->processor][0],
TRACE_3D(TRC_VMEXIT,0,0,0);
return;
}
-#endif
#endif /* CONFIG_VMX */
/*
ENTRY(vmx_asm_vmexit_handler)
/* selectors are restored/saved by VMX */
VMX_SAVE_ALL_NOSEGREGS
-#ifdef TRACE_BUFFER
call trace_vmexit
-#endif
call vmx_vmexit_handler
jmp vmx_asm_do_resume
/* vmx_restore_all_guest */
call vmx_intr_assist
call load_cr2
-#ifdef TRACE_BUFFER
call trace_vmentry
-#endif
.endif
VMX_RESTORE_ALL_NOSEGREGS
/*
OBJS := $(subst perfc.o,,$(OBJS))
endif
-ifneq ($(trace),y)
-OBJS := $(subst trace.o,,$(OBJS))
-endif
-
default: common.o
common.o: $(OBJS)
$(LD) $(LDFLAGS) -r -o common.o $(OBJS)
}
break;
-#ifdef TRACE_BUFFER
case DOM0_TBUFCONTROL:
{
ret = tb_control(&op->u.tbufcontrol);
copy_to_user(u_dom0_op, op, sizeof(*op));
}
break;
-#endif
case DOM0_READCONSOLE:
{
#ifndef __XEN_TRACE_H__
#define __XEN_TRACE_H__
-#ifdef TRACE_BUFFER
-
#include <asm/page.h>
#include <xen/types.h>
#include <xen/sched.h>
#define TRACE_4D(event,d1,d2,d3,d4) trace_do_casts(event,d1,d2,d3,d4,0 )
#define TRACE_5D(event,d1,d2,d3,d4,d5) trace_do_casts(event,d1,d2,d3,d4,d5)
-#else
-
-#define init_trace_bufs() ((void)0)
-
-#define TRACE_0D(event) ((void)0)
-#define TRACE_1D(event,d) ((void)0)
-#define TRACE_2D(event,d1,d2) ((void)0)
-#define TRACE_3D(event,d1,d2,d3) ((void)0)
-#define TRACE_4D(event,d1,d2,d3,d4) ((void)0)
-#define TRACE_5D(event,d1,d2,d3,d4,d5) ((void)0)
-
-#endif /* TRACE_BUFFER */
-
#endif /* __XEN_TRACE_H__ */